How to Engage Me

Mark Smith, 7B Software, Inc.

 

I thought I’d take this opportunity to let recruiters and potential clients know what the “rules of engagement” are for interviewing and hiring me.

I’m doing this because I’ve seen pretty much every kind of interview during my long consulting career.  As a result, I’ve found that I can save time by identifying aspects of the hiring process itself as a filtering mechanism.

The first thing you should know is that roughly 95% of my engagements have been through referral: a happy client has done the “heavy lifting” of vetting me by seeing my actual work product—and, just as importantly, my ability to work effectively with others.  If you are interviewing me based on my resume, you won’t have this advantage; thus, I realize that some mutual vetting needs to take place.

The second thing you need to know—and I can’t stress this enough—is that some interview questions are off limits.  You may feel free to dive as deep into my professional experience as you want; after all, that’s why I have a resume.  However, you should not need to ask the following kinds of questions:

1.      A question where the answer can be obtained from Google, Wikipedia, or Stack Overflow within a few mouse clicks.

2.     A question which might reasonably appear on a (very nerdy) quiz show.

The third thing you need to know is that, when interviewing me, you will need to have your decision-maker interview me, either first or second.  I only do single-event interviews (no “phone interview plus face-to-face”).  If your decision-maker isn’t available, we can always reschedule.

The next thing you need to know is I only do work with broad impact.  I am often asked if I will work as a fulltime employee.  The answer is yes, but only under very specific conditions, the most important of which is that I need to understand how important my work is to your users.

The next thing you need to know is that my rate varies a great deal, owing to market conditions.  By “a great deal”, I mean as much as 40%.  However, I can save you a lot of time right up front by telling you that I do not come cheap.  If, however, you have a fantastic, impactful project, and your budget is tight, I will find a way to work with you.  (One great way to do this is to capitate my hours; you benefit by staying within budget, and also by forcing the work to be efficient.)

You also should know that, during my entire consulting career, my average billable hours per year has been about 2200, or about 110% of fulltime.  This means that I am almost certainly currently engaged.  If one of your corporate folk philosophies is: “If you want something done, give it to a busy person,” then we may be a good match.  If, though, you feel that you must wait until I have no other engagements, we probably won’t be able to work anything out.

Let me go back to the rule regarding off-limits interview questions.  Here are the kinds of questions that I encourage you to ask:

“Have you used technique FOO or package BAR or language BAZ?  How did you apply it to a real-world problem?”

“Have you worked within methodology ALPHA?  What is your opinion of it?”

“Your resume says you worked with USSOCOM to create mission-critical products.  Can you give me some details?  What do you mean by mission-critical?”

And here are some examples of off-limit questions:

“What is map-reduce?”

“What is functional programming?”

“In what cases would you use an associative array?”

“Can show me how you would implement a perfect hash?”

“How would you generate an outer product in an SQL query?”

“How would you perform compile-time access control using C++ syntax?”

“Why are manhole covers round?”

“Would you please write an example program that does XYZ?”

You may be thinking: hey, how else are we going to find out if this guy can actually write the software we need in a timely fashion?  And the answer is:  I am happy to share extensive code samples with you that should give you a good idea.

But let’s dive a little deeper into that very last off-limits question (“Please write an example program that does XYZ”).  This is an example of the “Can I obtain the answer from Google, Wikipedia, or Stack Overflow” rule.  In point of fact, if I didn’t already have a specific example of XYZ at my fingertips, I would immediately have a look at Wikipedia or Stack Overflow to find examples.  If XYZ were a sufficiently broad topic (for example, if XYZ were “an Angular directive that communicates with a map-reduce service and updates controller variables”), then you could either ask about my specific experience with XYZ, or with a rough equivalent to XYZ (in this case, architecting and developing an MVC or MVVM system).

Even in the latter case, you will have to use some judgment.  If, for example, you want to rule out anyone who does not have extensive experience writing Java map-reduce programs, you’d be missing out on someone that has done it better and faster in other languages.  If on the other hand you are using a hard-and-fast rule (e.g. “I need someone with 2 years of Java Hadoop map-reduce with Hive and Pig), you’ll rule in people that have done XYZ badly, and rule out people that have done XYZ’ well.

My goal in giving you these rules of engagement is to let you decide whether it even makes sense to interview me.  If my rules seem unreasonable to you, it means that we are not a good match, and I’ve just saved both of us some valuable time.